<?php
	include_once '../../../../../core/configuration.php';
	include_once '../../../../../core/root_models/db.class.php';
	
	$fk_id_inmueble	= $_POST['fk_id_inmueble'];
	$tipo_inmueble	= $_POST['tipo_inmueble'];
	$section		= $_POST['section'];

	$ob = new DB("imagenesxinmueble");
	
	function generarImagen($imagen) {
		global $ob, $section;
		$arr_localhost = array('localhost', '127.0.0.1');
		if (is_uploaded_file($imagen['tmp_name'])) {
			$extension = explode(".",$imagen['name']);
			$ext = $extension[count($extension)-1]; 
			$name = uniqid();
			if (!in_array($_SERVER['HTTP_HOST'],$arr_localhost)) { //si es servidor de produccion
				move_uploaded_file($imagen['tmp_name'], "../../../../../../frontend/content/{$section}/".$name.".".$ext);
				$ob->establecer("url",STG_HOST_FILE."/frontend/content/{$section}/{$name}");
				imagenGD($name,$ext,960,315);
	        	imagenGD($name,$ext,208,160);
				imagenGD($name,$ext,380,294);
				imagenGD($name,$ext,92,71);
				if ($ext == "gif" || $ext == "GIF" || $ext == "png" || $ext == "PNG") {
					imageJPG($name,$ext);
				}
				unlink("../../../../../../frontend/content/{$section}/".$name.".".$ext);
			} else { //si es localhost
				move_uploaded_file($imagen['tmp_name'], "../../../../../../frontend/content/{$section}/".$name.".".$ext);
				$ob->establecer("url",DEV_HOST_FILE."/frontend/content/{$section}/{$name}");
				imagenGD($name,$ext,960,315);
	        	imagenGD($name,$ext,208,160);
				imagenGD($name,$ext,380,294);
				imagenGD($name,$ext,92,71);
				if ($ext == "gif" || $ext == "GIF" || $ext == "png" || $ext == "PNG") {
					imageJPG($name,$ext);
				}
				unlink("../../../../../../frontend/content/{$section}/".$name.".".$ext);
			}
		} else { //si no subio archivo, carga imagen por defecto.
			if (!in_array($_SERVER['HTTP_HOST'],$arr_localhost)) {
				$ob->establecer("url",STG_HOST_FILE."/frontend/content/{$section}/default.png");
			} else {
				$ob->establecer("url",DEV_HOST_FILE."/frontend/content/{$section}/default.png");
			}
		}
	}
	
	function imageJPG($nombre, $extension) {
		global $section;
		$archivo = $nombre.".".$extension;
		if ($extension == "gif" || $extension == "GIF") { 
			$image = imagecreatefromgif("../../../../../../frontend/content/{$section}/".$archivo);
		} else if($extension == "png" || $extension == "PNG") {
			$image = imagecreatefrompng("../../../../../../frontend/content/{$section}/".$archivo);
		}
		$thumb_name = substr("../../../../../../frontend/content/{$section}/".$archivo,0,-4);
		$ancho = imagesx($image);
		$alto = imagesy($image);
		if (function_exists("imagecreatetruecolor")) {
			$thumb = imagecreatetruecolor($ancho, $alto);
		} 
		if (!$thumb) $thumb = imagecreate($ancho, $alto);
		imagecopy($thumb, $image, 0, 0, 0, 0, $ancho, $alto); 
		imagejpeg($thumb, $thumb_name.".jpg", 99);
		imagedestroy($image);
		// Elimina el archivo original (.PNG o .GIF)
		unlink("../../../../../../frontend/content/{$section}/".$nombre.".".$extension);
	}
	
	function imagenGD($nombre, $extension, $xAncho, $yAlto) {
		global $section;
		$archivo = $nombre.".".$extension;
		if($extension == "jpg" || $extension == "jpeg" || $extension == "JPG" || $extension == "JPEG") {
			$image = imagecreatefromjpeg("../../../../../../frontend/content/{$section}/".$archivo);
		} else if($extension == "gif" || $extension == "GIF") { 
			$image = imagecreatefromgif("../../../../../../frontend/content/{$section}/".$archivo);
		} else if($extension == "png" || $extension == "PNG") {
			$image = imagecreatefrompng("../../../../../../frontend/content/{$section}/".$archivo);
		} else {
			echo "Error, extensión no permitida";
			die();
		}
		$thumb_name = substr("../../../../../../frontend/content/{$section}/".$archivo,0,-4);
		$ancho = imagesx($image);
		$alto = imagesy($image);
		
		if (function_exists("imagecreatetruecolor")) { 
			$thumb = imagecreatetruecolor($xAncho, $yAlto);
		} 
		if (!$thumb) $thumb = imagecreate($xAncho, $yAlto); 
		
		$posMedioX = 0;
		$posMedioY = 0;
		$nuevoAncho = $xAncho;
		$nuevoAlto = ($nuevoAncho * $alto / $ancho);
		if ($nuevoAlto < $yAlto) {
			$nuevoAlto = $yAlto;
			$nuevoAncho = ($nuevoAlto * $ancho / $alto);
			$posMedioX = (($xAncho / 2) - ($nuevoAncho / 2)) / 2;
			imagecopyresized($thumb, $image, $posMedioX, 0, 0, 0, $nuevoAncho, $yAlto, $ancho, $alto);
		} else {
			$posMedioY = (($yAlto / 2) - ($nuevoAlto / 2)) / 2;
			imagecopyresized($thumb, $image, 0, $posMedioY, 0, 0, $xAncho, $nuevoAlto, $ancho, $alto);
		}
		$size = "-".$xAncho."x".$yAlto;
		imagejpeg($thumb, $thumb_name.$size.".jpg", 99);
		imagedestroy($image);
	}
	
	function obtenerOrden() {
		global $tipo_inmueble, $fk_id_inmueble;
		$sql = "SELECT COUNT(id) AS cantidad FROM imagenesxinmueble WHERE tipo_inmueble = {$tipo_inmueble} AND fk_id_inmueble = {$fk_id_inmueble}";
		$resultado = mysql_query($sql);
		while ($row = mysql_fetch_array($resultado)){
			$cantidad = $row['cantidad'];
		}
		return ($cantidad + 1);
	}

	generarImagen($_FILES['image']);
	$ob->establecer("fk_id_inmueble",$fk_id_inmueble);
	$ob->establecer("tipo_inmueble",$tipo_inmueble);
	$ob->establecer("orden",obtenerOrden());
	$ob->insertar();
		
	$datos = array(
		"id" => mysql_insert_id(),
		"url" => $ob->obtener("url"),
		"fk_id_inmueble" => $fk_id_inmueble
	);
	echo json_encode($datos);
?>